1. Field of the Invention
The present invention relates to a data processing system for use in pricing and charging equipment and a production process therefor.
2. Related Art
The data processing system finds particular application in communications systems, for identifying and/or adjusting amounts billed to a customer, based on charge-related values such as call duration, in respect of additional factors such as taxes which are liable to be subject to change. It is becoming increasingly important, particularly in the communications arena as communications systems grow ever more sophisticated, that factors involved in calculating billable amounts can be both taken into account and updated even in complex billing systems which have to handle a wide variety of events and conditions.
The production process mentioned above provides a method of converting programs developed in an object oriented environment into instructions implementable by a procedurally based processing device.
Traditionally, large data processing systems were developed using procedural languages, such as COBOL and FORTRAN etc. Some of these systems are extremely large and are responsible for fundamental operational requirements of organisations, often essential to the core business of said operations. Consequently, great care must be taken when such systems are modified. Furthermore, given the level of investment made in such systems, it is not practical to redevelop a whole system when modifications are required.
Large systems of this type, often developed using techniques which have been superseded by improved development techniques, are often referred to as "legacy" systems or "heritage" systems, in which, were the system to be produced today, different techniques would be employed so as to improve reliability, robustness and the ability to implement amendments as changes in operating conditions occur. However, given that these existing systems often relate to very important aspects of an operation and represent a very large investment made by the operator, there is clearly a reluctance to make modifications unless these become absolutely necessary.
Unfortunately, from an operator's point of view, modifications do become necessary, due to essential changes to the way in which the operation is performed, possibly driven by changes in the laws or rules etc., under which the operation is performed. Under these circumstances, it is therefore necessary to implement changes to existing systems. However, such changes need to be implemented without affecting the rest of the system, thereby ensuring that the operation continues to function as a whole, secure in the knowledge that other aspects of the system will not be impaired by the new amendments.
A further problem arises in that new instructions for the existing system must be consistent with the original instruction set, which suggests that modifications must be implemented using the techniques available when the system was originally developed. This would therefore result in developers being constrained to use old fashioned techniques instead of being able to make use of modern developments. Furthermore, newly trained system developers would tend to be more familiar with modern techniques, therefore, if forced to use previous techniques, such designers would not benefit from their more modern skill, experience and expertise.
Object oriented environments are known, an example of which is that provided by the Al International Corporation and licensed under the Trade Mark "Visual works" which includes the language "Smalltalk 80". In an object oriented environment, data is encapsulated in functionality to provide units of software known as objects. The data is then not directly accessible to entities external to the object. The object oriented environment is developed by defining these objects and defining the communications between them. Procedural environments in contrast provide separate files for instructions and data. The transformation of object instructions into procedural instructions therefore consists of, amongst other things, collecting instructions from objects and collecting data from objects and grouping these collections into files which may be implemented within the procedural environment of the existing system.